package com.pig4cloud.pig.base.service.impl;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pig4cloud.pig.base.api.vo.ConfigVO;
import com.pig4cloud.pig.base.api.vo.LogVO;
import com.pig4cloud.pig.base.config.BaseUtil;
import com.pig4cloud.pig.base.service.ConfigurationCenterService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;


/**
 * 配置中心实现类
 *
 * @author xuzhuang
 * @since 2024年5月31日13:48:50
 */
@Service
@AllArgsConstructor
public class ConfigurationCenterServiceImpl implements ConfigurationCenterService {


	@Override
	public Page selectConfigurCenterList(Page page, ConfigVO configVO) {
		String configs = BaseUtil.configs(configVO.getDataId(),Integer.valueOf((int) page.getCurrent()),Integer.valueOf((int) page.getSize()));
		// 将JSON字符串转换为JSONObject
		JSONObject jsonObject = JSONObject.parseObject(configs);
		String pageItems = String.valueOf(jsonObject.get("pageItems"));
		List<ConfigVO> list = JSON.parseArray(pageItems, ConfigVO.class);
		page.setRecords(list);
		return page;
	}

	@Override
	public ConfigVO getById(String dataId) {
		String config = BaseUtil.config(dataId);
		JSONObject jsonObject = JSONObject.parseObject(config);
		ConfigVO configVO=JSON.toJavaObject(jsonObject, ConfigVO.class);
		return configVO;
	}

	@Override
	public Boolean update(ConfigVO configVO) {
		boolean booleanConfig;
		String config = BaseUtil.configUpdate(configVO);
		if ("true".equalsIgnoreCase(config)) {
			booleanConfig = true;
		}else if ("false".equalsIgnoreCase(config)) {
			booleanConfig = false;
		} else {
			// 处理无效输入或抛出异常
			booleanConfig = false;
		}
		return booleanConfig;
	}


}
